package weekend;
import java.util.Arrays;
import java.util.Scanner;
public class Exercise {
    public static void main(String[] args) {
        //day02 1. 变量的练习：
        //
        //   - 声明一个变量，一次声明多个变量。
        //   - 声明变量直接初始化，先声明变量，而后再给变量初始化。
        //   - 声明整型变量g，声明另一个整型变量h并赋值为g+10，输出变量h的值。
        //
        //   - 在g本身基础之上增10，输出变量g的值。
        //   - 声明一些正确的和错误的变量名。
        /*
        int a ;
        int b,c,d;

        int e = 10;
        int f;
        f = 10;
        int g = 11;
        int h = g+ 10;
        System.out.println(h);
        g += 10;
        System.out.println(g);

        //boolean 1;//错误的

         */

        //day03 1. 运算符的练习：算术
        //
        //   - 输出几个整数取模，验证结果
        //   - 声明两个整型变量，演示单独使用时的自增和自减
        //   - 声明几个整型变量，演示被使用时的自增和自减
        /*
        System.out.println(8%3);
        System.out.println(9%2);
        System.out.println(10%4);

            int a=1;
            int b= 1;
            a++;
            b--;
        System.out.println(a);
        System.out.println(b);

        int c = a++;
        int d = ++b;
        int e = a--;
        int f = --b;
        System.out.println(c);
        System.out.println(d);
        System.out.println(e);
        System.out.println(f);

         */

        //day04 1. CommandBySwitch命令解析程序：
        //
        //   要求：接收用户输入的命令，依据命令做不同的操作
        //
        //2. Guessing猜数字之while版：
        //
        //   要求：随机生成一个数，由用户来猜，猜不对则反复猜，并给出大小提示，猜对的则结束，用while来实现。
        //
        //3. Guessing猜数字之do...while版
        //
        //   要求：随机生成一个数，由用户来猜，猜不对则反复猜，并给出大小提示，猜对的则结束，用do...while来实现。
        //
        //4. for循环：输出5次"行动是成功的阶梯"、输出9的乘法表(1到9、1/3/5/7/9、9到1)

        /*1.
        Scanner scan = new Scanner(System.in);
        int a = scan.nextInt();
        switch (a){
            case 1:
                System.out.println("存款");
                break;
            case 2:
                System.out.println("取款");
                break;
            case 3:
                System.out.println("转账");
                break;
            case 4:
                System.out.println("退出");
                break;
            default:
                System.out.println("输入有误");
        }

         */
        /*2.
        int num = (int) (Math.random()*100);

        while (true){
            System.out.println("猜吧！");
            Scanner scan1 = new Scanner(System.in);
            int b = scan1.nextInt();
            if(b>num){
                System.out.println("大了");
            }else if(b<num){
                System.out.println("小了");
            }else {
                System.out.println("猜对了");
                break;
            }
        }

         */

        //3.
            /*
        int num = (int) (Math.random()*100);
        int c;
        do{
            System.out.println("猜吧");
            Scanner scan2 = new Scanner(System.in);
             c = scan2.nextInt();
             if(c>num){
                 System.out.println("大了");
             }else if(c<num){
                 System.out.println("小了");
             }
        }while (c != num);
        System.out.println("猜对了");

             */

        //4.
        /*
        for (int i=0;i<5;i++){
            System.out.println("行动是进步的阶梯");
        }

        for (int i =1;i<=9;i++){
            System.out.println(i+"*"+9+"="+i*9);
        }

        for (int i=1;i<=9;i+=2){
            System.out.println(i+"*"+9+"="+i*9);
        }

        for (int i=9;i>=1;i--){
            System.out.println(i+"*"+9+"="+i*9);
        }

         */

        //day 05  1. Addition随机加法运算器
        //
        //   要求：由系统随机出10道加法题，而后由用户来答题，答题后输出"答对了"或"答错了"，答对1题得10分，答错1题不扣分，最后输出总分数。
/*
        int score =0;
        for(int i =0;i<10;i++){
            int num1 = (int) (Math.random()*100);
            int num2 = (int) (Math.random()*100);
            int result=num1+num2;
            System.out.println(num1+"+"+num2+"=?");
            System.out.println("答吧");
            Scanner scan = new Scanner(System.in);
            int answer = scan.nextInt();
            if(answer==result){
                System.out.println("答对了");
                score +=10;
            }else{
                System.out.println("答错了");
            }
        }
        System.out.println("得分为"+score);

 */
        //2. MultiTable九九乘法表
        //
        //   要求：输出九九乘法表
/*
        for(int i= 1;i<=9;i++){
            for (int j=1;j<=i;j++){
                System.out.print(j+"*"+i+"="+i*j+"\t");
            }System.out.println();
        }

 */
        //3. 数组小代码练习：声明、初始化、访问、遍历
/*
        int[] arr = new int[10];
        int[] arr1 = {2,5,8,11,14,17,20,23,26,29};
        int[] arr2 ;
        arr2 = new int[]{3,6,9};

        arr[0]=1;
        arr[1]=2;
        arr[3]=4;
        for (int i=0;i< arr.length;i++){
            System.out.println(arr[i]);
        }


        //4. MaxOfArray求数组元素最大值
        int max = arr[0];
        for(int i=1;i<arr.length;i++){
            if(arr[i]>max){
                max=arr[i];
            }
        }
        System.out.println("最大值为"+max);

 */
        //5. 对数组进行升序排列，并输出排序后的结果
/*
        int[] arr3 =new int[10];
        for (int i=0;i< arr3.length;i++){
            arr3[i]=(int)(Math.random()*100);
            System.out.print(arr3[i]+"\t");
        }
        Arrays.sort(arr3);
        System.out.println("排序后：");
        for(int i=0;i< arr3.length;i++){
            System.out.print(arr3[i]+"\t");
        }

 */



        //day06     1. MaxOfArray求数组元素最大值并放在最后一个元素的下一个位置
        //
        //   要求：声明整型数组并填充随机数据，找到最大值，将数组扩容并将最大值放末尾
        /*
        int[] arr =new int[10];
        int max = arr[0];
        for (int i=0;i< arr.length;i++){
            arr[i]=(int)(Math.random()*100);
            System.out.print(arr[i]+"\t");
            if(arr[i]>max){
                max = arr[i];
            }
        }
        System.out.println("最大值为"+max);
        arr = Arrays.copyOf(arr,arr.length+1);
        arr[arr.length-1] = max;
        for (int i = 0;i< arr.length;i++){
            System.out.print(arr[i]+"\t");
        }

         */


        /*
        //3. 方法的练习：
        //
        //   要求：
        //
        //   - 定义say()无参无返回值方法，调用测试
            say();
        //   - 定义sayHi()有一个参无返回值方法，调用测试
            sayHi("mhy");
        //   - 定义sayHello()有两个参无返回值的方法，调用测试
            sayHello("zy",8);
        //   - 定义getNum()无参有返回值方法，演示return的用法，调用测试
            double a =getnum();
            System.out.println(a);
        //   - 定义plus()两个参有返回值方法，调用测试
            int sum =plus(5,6);
            System.out.println(sum);
        //   - 定义testArray()用于生成整型数组填充随机数并返回数组，调用测试
        testArray(10);

    }

    public static void say(){
        System.out.println("大家好，我叫se!");
    }

    public static void sayHi(String name){
        System.out.println("大家好，我叫"+name+"!");
    }

    public static void sayHello(String name,int age){
        System.out.println("大家好，我叫"+name+",今年"+age+"岁了");
    }

    public static double getnum(){
        return 8.8;
    }

    public static int plus(int num1,int num2){
        return num1+num2;
    }

    public static int[] testArray(int len){
        int[] arr = new int[len];
        for (int i=0;i< arr.length;i++){
            arr[i]=(int) (Math.random()*100);
            System.out.print(arr[i]+"\t");
        }
        return arr;

         */
        /*
        generate(5);

    }
    public static int[] generate(int len){
        int [] arr = new int[len];
        for (int i=0;i< arr.length;i++){
            arr[i]=(int) (Math.random()*100);
            System.out.print(arr[i]+"\t");
        }
        return arr;

         */
    }
}
